Image processing device, image processing method, and game device and storage medium using the same

ABSTRACT

An object of this invention is to provide an image processing device which does not interrupt the flow of a game.  
     The processing board in the main game device attaches information required by the player at the completion of each stage to a map and provides it to the player by displaying it on the display in the following way. The front edge of the truck  20  is displayed (FIG.  5 ( a )), and camera work is conducted showing the game characters  24, 25  riding in the truck  20  (FIG.  5 ( b )). In order that the relationship between the characters  24, 25  and the truck  20  can be appreciated, a bird&#39;s-eye view is shown on the display  1   a  (FIG.  5 ( c )), and the camera work is moved again to diagonally above the characters  24, 25,  and an enlarged display of the characters  24, 25  is shown (FIG.  5 ( d )). The map  26  is displayed such that it can be viewed from between the characters  24, 25  (FIG.  5 ( e )), and finally, the map  26  is displayed as an enlarged image (FIG.  5 ( f )).

TECHNICAL FIELD

The present invention relates to an image processing device, an imageprocessing method and a game device using the same. More particularly,it relates to an image processing device, and the like, for a gamemachine, or the like, using computer graphics. Furthermore, it alsorelates to a storage medium whereby these processing steps are stored.

BACKGROUND ART

With the progress of computer graphics technology in recent years, dataprocessing devices, such as game devices or simulation devices, havecome into wide, general use. Game devices, for example, are providedwith peripherals, such as a joystick (operating lever), buttons, amonitor, and the like, a main game device which conducts datacommunications with these peripherals, as well as image processing,sound processing, and the like, and a display which displays imagesignals produced by this main device. The image processing in such gamedevices is of particularly great importance in raising product value,and therefore image reproduction technology has become increasinglyrefined in recent years.

One known example of a game device of this kind is “Title Fight”(trademark). In this game, the characters (combatants) are composed bysprites (single-layer pictures), and the background and the like iscomposed by a scrolling screen.

However, by this means, it is not possible to change the viewpoint andrepresent the characters three-dimensionally. Therefore, in recentyears, it has been sought to compose three-dimensional shapes by aplurality of polygons, and to map texture (pattern) onto these polygonsand display characters viewed from any viewpoint.

Known examples of this are TV game devices which depictthree-dimensional characters by means of texture-mapped polygon data,and depict background sections, where movement is required in accordancewith movement of the characters or change in the viewpoint, by means oftextured polygon data also, (for example, Sega Enterprises (Co. Ltd.)“Rail Chase I”.)

Thereby, rather than composing characters using sprites, the characters,and the background and the like closely related to the movements of thecharacters, can be represented as three-dimensional images viewed fromprescribed viewpoints.

Incidentally, in a conventional TV game device as described above (forexample, Sega Enterprises (Co. Ltd.) “Rail Chase I”), when one stage ofthe game is completed, the hero characters look at a map and move to thenext stage. For this purpose, in this device, the map is formed byseparate scroll data, and at the moment one stage has finished, thescreen suddenly switches to displaying a map, without any connection tothe game environment (First prior art example).

Furthermore, in this device, there is a scene where the hero charactersmove by riding in a truck, and in this case, the camera work based onthe heroes' viewpoint is determined by the direction of movement of thetruck. For example, as shown in FIG. 22(a), if the direction changes atpoints q1, q2, q3, q4, . . . , at point q1, the coordinates of point q2are read in advance and the viewpoint of the hero characters at point q1is set in the form of coordinates (X, Y, Z, A) (where A is an angle). Inthis way, the camera work at the viewpoint of the hero characters as thetruck 220 moves to each point q1, q2, q3, q4, . . . is as shown in FIG.22(b). Specifically, at point q1, for example, it is set as coordinates(X, Y, Z, A) and at point q3, for example, it is set as coordinates (X,Y, Z, B) (where B is an angle).

Here, as shown in FIG. 23, the camera direction is labelled E, thecamera orientation is labelled F, and the field of view is labelled G.Thereby, as shown in FIG. 24, before reaching point q11, the cameraorientation is F1 and the field of view is G1, after passing point q11and before reaching point q12, the camera orientation is F2 and thefield of view is G2, and after passing point q12 and before reachingpoint q13, the camera orientation is F3 and the field of view is G3, . .. and in this way, switches in direction occur at individual points,resulting in large changes in the field of view G (Second prior artexample).

Moreover, in this device, a river is displayed as a background, or thelike. Texture-mapped polygons are used to represent the flow of water inthis river, a texture with the appearance of water being applied to thepolygons along the flow of the river, and these texture coordinatesbeing changed over time in accordance with the direction of the waterflow. For example, as shown in FIG. 25, if texture coordinates areprojected onto the polygons 150, 150, . . . about a desired axis, theyare displayed such that they move in the same direction as all thepolygons 150, 150, . . . . Furthermore, as shown in FIG. 26, if each ofthe four corners of the polygons 151, 152, 153, 154, 155, 156 is made tocorrespond to a factor n of the texture, then it is possible to achievethe representation of a winding river flow, according to the shape ofeach polygon 151, 152, 153, 154, 155, 156 (Third prior art example).

Additionally, in this device, if Z-buffering, which is a technique forerasing hidden surfaces, is used in generating a particular screen, asshown in FIG. 27(a), when looking from viewpoint 210 at a background 220in the infinite distance, an object in the far distance, or an object221 having no distance value, the screen has the display range 230(Fourth prior art example).

Furthermore, since there is a limit on the maximum number of polygonsthat can be displayed simultaneously using this device, the number ofpolygons displayed is controlled such that the polygons on the wholescreen do not exceed the maximum number (Fifth prior art example).

Incidentally,.according to the first prior art described above, therehas been a drawback in that the flow of the game is interrupted becausea map created separately from the game environment is introduced intothe game environment. In other words, there has been a drawback in that,since the viewpoint is usually from within the game, if separatecontents are suddenly displayed, this completely disrupts the flow ofthe game and confuses the player.

Furthermore, according to the second prior art described above, therehas been a drawback in that, as shown in FIG. 22 and FIG. 24, at eachpoint q.n (where n is an integer), the camera orientation F isdetermined by reading the coordinates of the next point, q.n+1, inadvance, and hence the viewpoint swings by a large amount because thedirection is switched at individual points, and it is hard to create anawareness of the surrounding circumstances. In particular, in curves,dead angles occur more frequently than in reality.

Moreover, according to the third prior art described above, when texturecoordinates are projected onto the polygons in the image shown in FIG.25, the projected surfaces are texture-mapped at a uniform density, butthere has been a drawback in that, even if the texture coordinates aremoved, they all move in a single direction only, and therefore it is notpossible to represent a winding river, for example. Furthermore, in theimage shown in FIG. 26, although the texture is made to correspond tothe polygons and therefore it can be represented as flowing in adirection corresponding to the shape of the polygons and it canrepresent the flow of a winding river, there has been a drawback in thatthe texture density is represented in an altered (compressed) state atchanges in the river width, sharp curves, or the like.

In addition, in the fourth prior art described above, three-dimensionalcomputer graphics are used and for this technique, Z-buffering orZ-sorting is often used to display the corresponding image. At present,due to demands for increased speed in processing, in some cases, theZ-buffer (depth information for an object) may be recorded in integervalues, or the coordinate values calculated as integers (using a fixeddecimal point). Therefore, special processing is conducted if the depthof an object at an infinite distance is to be represented. Moreover, iflimits are placed on the display range in the depth direction in orderto ensure accuracy when using Z-buffering, then it is necessary tolocate the object at a distance that comes within this display range230. Specifically, as shown in FIG. 27(a), the object 221 must bepositioned such that it comes within the display range 230. As a result,there is a drawback in that, if the viewpoint 210 moves towards the leftside of the diagram, for example, although the background 220 in theinfinite distance moves, the object 221 at a far distance (or an objecthaving no distance value) does not move, and therefore the appearancewill change.

Yet further, according to the fifth prior art described above, the totalnumber of polygons on the whole screen is limited. However, there arecases where the game screen is constituted by polygons representing thebackground and polygons representing enemies, and the like, and inparticular, there are cases where the enemies increase in number as thegame progresses. Therefore, in order to represent the enemies, thenumber of polygons for the background is restricted, and in some cases,a part of the background image is lost (so-called polygon error). Thisloss of the background image causes a marked impairment in the qualityof the game image.

In short, there has been the problem that effective image processingcannot be achieved in conventional image processing devices, such asgame devices of this type.

Therefore, this invention was made in order to overcome these problems.

A first object of this invention is to provide an image processingdevice which does not interrupt the flow of a game.

A second object of this invention is to provide an image processingdevice capable of moving a viewpoint in a natural state.

A third object of this invention is to provide an image processingdevice capable of displaying natural movement.

A fourth object of this invention is to provide an image processingdevice comprised such that, even if the viewpoint moves, a screen in thefar distance will appear in a similar state to a natural state.

A fifth object of this invention is to provide an image processingdevice capable of preventing loss of background images.

DISCLOSURE OF THE INVENTION

In an image processing device which causes a moving object composed inthree-dimensional spatial coordinates to move, and generates viewpointimages whereby the moving object is viewed from prescribed viewpoints,

this invention comprises information representing object generatingmeans for composing an information representing object wherebyinformation relating to the moving object is represented.

The information representing object generating means of this inventioncomposes a planar object portraying the position of the moving object asthe information representing object.

The information representing object generating means of this inventioncauses the planar object to change from a folded state to an openedstate.

This invention comprises viewpoint moving means for moving the viewpointsuch that, when an information representing object has been composed,both the moving object and the information representing object aredisplayed.

The viewpoint moving means of this invention, moreover, moves theviewpoint towards the information representing object.

This invention, moreover, comprises display means for displaying thegenerated viewpoint image.

This invention is a game device which conducts a game whilst causing themoving object to move in three-dimensional spatial coordinates, and itcomprises any of the image processing devices described above.

In an image processing method which generates viewpoint images whereby amoving object composed in three-dimensional spatial coordinates and aninformation representing object which represents information relating tothis moving object are viewed from prescribed viewpoints,

this invention comprises:

a first step whereby the viewpoint is moved to a position displaying themoving object only;

a second step whereby the viewpoint is moved to a position displayingboth the moving object and the information representing object; and

a third step whereby the viewpoint is moved towards the informationrepresenting object such that the information representing object isdisplayed as a large image.

According to this invention, since image processing is conducted wherebyan information representing object, such as a planar object or the like,is displayed in three-dimensional spatial coordinates in relation to themoving display object, the planar object on which the necessaryinformation is written can be viewed without an unnatural impressionbeing created, and it can be linked smoothly to the subsequent images.Furthermore, according to this invention, image processing which isadvantageous to game development becomes possible.

Moreover, according to this invention, since the viewpoint is controlledsuch that it moves towards the planar object, the display of the planarobject (for example, a map) can be enlarged gradually and the player canbe provided with a space through which he or she can actually look atthe map on the game screen.

Furthermore, in this invention, since image processing is conductedwhereby a planar object is displayed from a folded state to an openedstate, it is possible to achieve a device which creates an impressionthat approximates reality.

This invention comprises view axis determining means for determining theview axis direction on the basis of a moving object composed inthree-dimensional spatial coordinates, a observation point located onthe path through which the moving object is to pass subsequently, atransit point located on the path through which the moving object hasalready passed, and positional information for the observation point andpositional information for the transit point.

The view axis determining means of this invention determines the viewaxis direction on the basis of positional information for a observationpoint and a transit point located equidistantly in front of and behindthe moving object.

If the moving object moves along a curve, the viewpoint determiningmeans of this invention changes the distance from the moving object tothe observation point and the transit point, respectively, in accordancewith the properties of the curve.

This invention comprises display means for displaying the generatedviewpoint image.

This invention is a game device which conducts a game whilst causing themoving object to move in three-dimensional spatial coordinates, and itcomprises any of the image processing devices described above.

In an image processing device which causes a moving object composed inthree-dimensional spatial coordinates to move, and generates viewpointimages whereby the moving object is viewed from prescribed viewpoints,

this invention comprises viewpoint determining means for smoothlychanging the line of sight centerd on the viewpoint in accordance withthe path of the moving object.

The fact that it smoothly changes the line of sight in accordance withthe path of the moving object means that it continuously changes theline of sight, in all sections or at least in a portion thereof, on thebasis of the properties, for example, the curvature, tangential vectors,differential coefficients, and the like, of a predetermined path or apath based on the results of movement of the moving object.

The viewpoint determining means of this invention determines thedirection of the line of sight centerd on the viewpoint, on the basis ofcoordinates on the path in front of and behind the moving object.

The viewpoint determining means of this invention calculates two sets ofcoordinates located equidistantly in front of and behind the movingobject, and takes the straight line joining these coordinates as thedirection of the line of sight.

If the moving object moves along a curve, the viewpoint determiningmeans of this invention changes the distance from the moving object tothe coordinates in front of and behind it, respectively, in accordancewith the properties of the curve.

This invention, moreover, comprises display means for displaying thegenerated viewpoint image.

This invention is a game device which conducts a game whilst causing themoving object to move in three-dimensional spatial coordinates, and itcomprises any of the image processing devices described above.

In an image processing method which causes a moving object composed inthree-dimensional spatial coordinates to move, and generates viewpointimages seen from the viewpoint of the moving object,

this invention comprises:

a first step whereby the position of the moving object is read;

a second step whereby a first point is set on the path to the front ofthe moving object at a predetermined distance from the position thereof;

a third step whereby a second point is set on the path to the rear ofthe moving object at a predetermined distance from the position thereof;and

a fourth step whereby the direction of the line of sight from theviewpoint is determined by the line joining the first point and secondpoint.

According to this invention, when the moving display object is in astate of travel in a prescribed direction, since at least one set ofcoordinates in front of or behind the current coordinates of the movingdisplay object are input and the direction of the viewpoint isdetermined on the basis of these coordinates, the movement of theviewpoint approximates movement of the viewpoint in reality, and adevice capable of a more natural representation can be achieved. Inaddition, image processing that is advantageous to game development alsobecomes possible.

Furthermore, in this invention, since coordinates located equidistantlyin front of and behind the current coordinates of the moving displayobject are introduced, and the direction resulting when the coordinatesof these two points are joined by a straight line is taken as thedirection of the viewpoint, the movement of the viewpoint approximatesmovement of the viewpoint in reality.

Moreover, in this invention, when the moving display object is movingalong a curve, since the distance between the current coordinates of themoving display object and the introduced coordinates in front of andbehind it are changed in accordance with the curvature of this curve, itis possible to achieve more realistic movement of the viewpoint.

In an image processing device which generates prescribed images byapplying texture respectively to linked pluralities of polygons,

this invention comprises coordinate processing means for determining areference vector for each mutually linked plurality of polygons and forcausing the texture to move in the direction of the reference vector,the moved texture being applied to the polygons.

In an image processing device which generates prescribed images byapplying texture respectively to linked pluralities of polygons,

this invention comprises coordinate processing means for determining areference vector for each longitudinal or lateral polygon chain in thelongitudinally and laterally linked pluralities of polygons, and forcausing the texture to move in the direction of this reference vector,without any deformation of the texture.

The coordinate processing means of this invention determines thereference vectors on the basis of a predetermined curve.

In this invention, the reference vectors for each of the pluralities ofpolygons are continuous and the texture corresponds to a flow along thecurve.

This invention, moreover, comprises display means for displaying thegenerated image.

In an information processing method which generates prescribed images byapplying texture respectively to linked pluralities of polygons,

this invention comprises:

a first step whereby a reference vector is determined for each mutuallylinked plurality of polygons;

a second step whereby the texture is caused to move in the direction ofthe reference vector; and

a third step whereby the moved texture is applied to the polygons.

According to this invention, for longitudinally and laterally linkedpluralities of polygons, a vector acting as a reference is assigned toeach polygon chain in the longitudinal or lateral direction, and thetexture is caused to move in the direction of this reference vector,without any deformation of the texture. Consequently, it is possible toachieve a more realistic representation of, for example, a screen onwhich there is a flowing image, such as the flow of water in a river.

Furthermore, in this invention, since the line segments forming thereferences are defined on the basis of a predetermined curve (forexample, the path of a river), there is no alteration in the density ofthe texture, and a natural flow can be represented.

In an image processing device which causes a moving object to move inthree-dimensional spatial coordinates, and generates viewpoint imagesseen from a viewpoint at the position of this moving object,

this invention comprises movement processing means for causing abackground image representing the distant background to move with themovement of the viewpoint.

In this invention, the background image forms a cylindrical shape or aspherical shape.

This invention, moreover, comprises display means for displaying thegenerated image.

This invention is a game device which conducts a game whilst causing themoving object to move in three-dimensional spatial coordinates, and itcomprises any of the image processing devices described above.

In an image processing method which causes a moving object to move inthree-dimensional spatial coordinates, and generates viewpoint imagesseen from a viewpoint at the position of this moving object,

this invention comprises:

a first step whereby the amount of movement of the moving object isfound; and

a second step whereby a background image representing the distantbackground is caused to move on the basis of this amount of movement.

In this invention, since a prescribed screen is caused to move inaccordance with the movement of the viewpoint, even if the viewpointmoves, objects or the like which are at infinite distances, or have nodistance relationship, can be displayed accurately, and therefore a morerealistic representation can be achieved. Furthermore, image processingwhich is advantageous to game development becomes possible.

Moreover, in the present invention, the prescribed screen is located ina cylindrical or spherical position, the viewpoint is located at thecenter thereof, and the center in question can be moved with themovement of the viewpoint, and therefore objects or the like which areat infinite distances, or have no distance relationship, can bedisplayed accurately.

In an image processing device which causes a moving object composed inthree-dimensional spatial coordinates to move, and generates viewpointimages seen from a viewpoint at the position of this moving object usingpolygons,

this invention comprises polygon number controlling means forclassifying the polygons forming the viewpoint image into a plurality ofgroups, and for controlling the number of polygons displayed such that,at each group, it is at or below a predetermined maximum number ofpolygons displayed.

The polygon number controlling means of this invention classifies thepolygons forming the viewpoint image into at least a group representingthe background and a other group.

This invention, moreover, comprises display means for displaying thegenerated viewpoint image.

This invention is a game device which conducts a game whilst causing themoving object to move in three-dimensional spatial coordinates, and itcomprises any of the image processing devices described above.

In an image processing method which causes a moving object composed inthree-dimensional spatial coordinates to move, and generates viewpointimages seen from a viewpoint at the position of this moving object usingpolygons,

this invention comprises:

a first step whereby the polygon forming the viewpoint image isclassified into a plurality of groups and a maximum number for thenumber of polygons displayed is determined at each group; and

a second step whereby the number of polygons displayed is controlled ateach group within a range not exceeding the maximum display number.

According to this invention, other screens apart from the moving displayobject are classified into a plurality of types, the number of polygonsallocated to each screen is restricted independently, and each screen iscomposed within the corresponding restriction. Consequently, forexample, even in a case where a large number of enemies appear, there isno loss of polygons in the background image.

In an image processing device which causes a moving object composed inthree-dimensional spatial coordinates to move, and generates viewpointimages seen from a viewpoint at the position of this moving object, thisinvention comprises field of view changing means for changing the fieldof view of the viewpoint image in accordance with the conditions in thedirection of movement.

The field of view changing means of this invention broadens the field ofview when no object is present in front of the moving object, andnarrows the field of view when an object is present.

This invention, moreover, comprises display means for displaying thegenerated viewpoint image.

This invention is a game device which conducts a game whilst causing themoving object to move in three-dimensional spatial coordinates, and itcomprises any of the image processing devices described above.

In an image processing method which causes a moving object composed inthree-dimensional spatial coordinates to move, and generates viewpointimages seen from a viewpoint at the position of this moving object, thisinvention comprises:

a first step whereby conditions relating to objects in front of themoving object are investigated; and

a second step whereby the field of view is broadened when no object ispresent, and the field of view is narrowed when an object is present.

According to this invention, since the field of view is changed inresponse to conditions in front of the moving object, a natural imagecan be obtained. For example, if the truck on which the character isriding is travelling across a plain, then a sensation of wide open spacecan be created by broadening the field of view, whilst if it istravelling through a tunnel, then an enclosed sensation can be createdby narrowing the field of view. Furthermore, if it is travelling along acity street, for example, then this falls midway between the two casesabove and an intermediate field of view is selected, thereby creating asense of presence and a sense of speed.

This invention is a storage medium wherein the procedures forimplementing any of the methods described above are recorded. Thisstorage medium may comprise, for example, a floppy disk, magnetic tape,photomagnetic disk, CD-ROM, DVD, ROM cartridge, a cartridge fitted witha RAM or flash memory with battery back-up, a fixed RAM cartridge, orthe like. A storage medium is a device wherein information (principally,digital data or programs,) is recorded by some physical means, and it iscapable of implementing prescribed functions in a processing device suchas a computer, special processor, or the like.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an oblique diagram showing the external appearance of an imageprocessing device according to the present invention;

FIG. 2 is a block diagram of the same embodiment;

FIG. 3 is a flowchart showing a camera work operation in the sameembodiment;

FIG. 4 is an illustrative diagram of an operation in the sameembodiment;

FIG. 5 is an illustrative diagram of an operation in the sameembodiment;

FIG. 6 is a flowchart of an operation for obtaining a smooth angle ofview in the same and further embodiments;

FIG. 7 is an illustrative diagram of the same operation;

FIG. 8 is an illustrative diagram of the same operation;

FIG. 9 is an illustrative diagram of the same operation;

FIG. 10 is an illustrative diagram of the same operation;

FIG. 11 is a flowchart of an operation for creating a river flow in thesame and further embodiments;

FIG. 12 is an illustrative diagram of the same operation;

FIG. 13 is an illustrative diagram of the same operation;

FIG. 14 is an illustrative diagram of the same operation;

FIG. 15 is a flowchart of an operation for moving a background, or thelike, in the same and further embodiments;

FIG. 16 is an illustrative diagram of the same operation;

FIG. 17 is an illustrative diagram of the same operation;

FIG. 18 is a flowchart of an operation relating to polygon restrictionin the same and further embodiments;

FIG. 19 is an illustrative diagram of the same operation;

FIG. 20 is an illustrative diagram of the same operation;

FIG. 21 is a flowchart of an operation relating to field of view anglein the same and further embodiments;

FIG. 22 is an illustrative diagram of conventional angle of viewprocessing;

FIG. 23 is an illustrative diagram of camera orientation and field ofview;

FIG. 24 is an illustrative diagram of fields of view obtained byconventional angle of view processing;

FIG. 25 is a diagram for the purpose of describing a conventional riverflow;

FIG. 26 is a diagram for the purpose of describing a conventional riverflow; and

FIG. 27 is an illustrative diagram of conventional movement of abackground.

BEST MODE FOR CARRYING OUT THE INVENTION

Below, a best mode for carrying out the present invention is describedon the basis of FIG. 1-FIG. 5. FIG. 1 shows an external view of thisgame device. In this drawing, numeral 1 indicates the main game device.This main game device 1 has a box-like shape, and it is provided with adisplay la comprising a CRT, projector, LCD device, plasma display, orthe like, as a display means. On the front surface below this display 1a, an operating panel 2 is provided.

A speaker installation hole (omitted from drawing) is provided on theside of the display 1 a, and a speaker 14 is installed in this hole.

A game processing board 10 is provided inside this main game device 1 a.The display 1 a, an operating device 11 in the operating panel 2, andthe speaker 14 are connected to the game processing board 10. By meansof this structure, a player is able to play a game using the display 1 aand the operating device 11 in the operating panel 2.

This operating device 11 provided in the operating panel 2 isconstituted by a joystick 2 a and push buttons 2 b. The player canmanipulate characters by means of this joystick 2 a and push buttons 2b.

FIG. 2 is a block diagram showing a game device in which the dataprocessing device according to this embodiment is applied. This gamedevice consists of a display 1 a, an operating device 11 located in anoperating panel 2, a game processing board 10, and a speaker 14.

Operating signals input via a joystick 2 a and push buttons 2 b in thisoperating device 11 are input to the game processing board 10. Thedisplay 1 a displays game images such as “Deru Chase I”, for example,and a projector may be used in place of this display 1 a.

Game processing board 10 has a CPU (central processing unit) 101, andcomprises, additionally, a ROM 102, a RAM 103, a sound device 104, anAMP (amplifier) 105, an input/output interface 106, a scroll datacomputing device 107, a co-processor (auxiliary processing unit) 108, adiagram data ROM 109, a geometrizer 110, a motion data ROM 111, adrawing device 112, a texture data ROM 113, a texture map RAM 114, aframe buffer 115, an image synthesizing device 116, and a D/A converter117.

The CPU 101 is connected via a bus line to: the ROM 102 whereinprescribed programs, image processing programs, and the like, arerecorded, the RAM 103 which records data, the sound device 104, theinput/output interface 106, the scroll data computing device 107, theco-processor 108, and the geometrizer 110. The RAM 103 functions as abuffer, and, for example, various commands for the geometrizer (displayobject, and the like), and data required in various calculations, arewritten into the RAM 103.

The input/output interface 106 is connected to the operating device 11,and it transfers operating signals in digital form from the joystick 2 aand the like in the operating device 11 to the CPU 101. The sound device104 is connected to the speaker 14 via the power amplifier 105, wheresound signals generated by the sound device 104 are power amplified andthen passed to the speaker 104.

In this mode for implementation, on the basis of a program stored in theROM 102, the CPU 101 reads operating signals from the operating device11, and diagram data from the diagram data ROM 109, or motion data fromthe motion data ROM 111, (“characters, such as self and enemy etc.” and“background, such as path of movement, terrain, sky and other structuralobjects”), and it conducts, at the least, action calculations(simulation), and special effects calculations.

The action calculations simulate the movement of characters in a virtualspace in accordance with operating signals given by the player via theoperating device 11, and after the coordinate values inthree-dimensional space have been determined, a conversion matrix forconverting these coordinate values to a field of view coordinate series,and shape data (polygon data), are designated to the geometrizer 110.The diagram data ROM 109 is connected to the co-processor 108 and,consequently, predetermined diagram data is transferred to theco-processor 108 (and the CPU 101). The co-processor 108 is devised suchthat it chiefly undertakes floating-point calculations. As a result,various decisions are executed by the co-processor 108 and the resultsof these decisions are relayed to the CPU 101, thereby enabling thecalculational load on the CPU to be reduced.

The geometrizer 110 is connected to the motion data ROM 111 and thedrawing device 112. Shape data consisting of a plurality of polygons(three-dimensional data for characters, terrain, background and thelike, comprising each vertex thereof) is previously stored in the motiondata ROM 111, as described above, and this shape data is transferred tothe geometrizer 110. The geometrizer 110 performs a perspectiveconversion of the specified shape data using the conversion matrixsupplied by the CPU 101, thereby producing data converted from acoordinate system in a three-dimensional virtual space to a field ofview coordinate system. The drawing device 112 applies texture to theconverted field of view coordinate system shape data, and outputs it tothe frame buffer 115. In order to conduct this texture application, thedrawing device 112 is connected to the texture data ROM 113 and thetexture map RAM 114, as well as being connected to the frame buffer 115.Incidentally, polygon data refers to data groups for the relative orabsolute coordinates of each vertex in a polygon (chiefly, a three- orfour-sided shape) consisting of a set of a plurality of vertices. Thediagram data ROM 109 stores relatively broad polygon data settings,which are sufficient for executing prescribed decisions. On the otherhand, the motion data ROM 111 stores more precise polygon data settings,which relate to shapes constituting screens such as the characters, atruck or a background.

The scroll data computing device 107 computes scroll screen data, suchas text or the like (stored in the ROM 102), and the output signal fromthis computing device 107 and the output signal from the frame buffer115 are synthesized by the image synthesizing device 116. Thissynthesized signal is converted from a digital signal to an analoguesignal by the D/A converter 117, and is then input to the display 1 a.Thereby, polygon screens (simulation results) for the character, truck,terrain (background) and the like stored temporarily in the frame buffer115, and scroll screens for the required text information, aresynthesized in a specified priority to generate the final frame imagedata. This image data is converted to an analogue signal by the D/Aconverter 117 and sent to the display 1 a, and the game image isdisplayed in real time.

(Display Processing for Map (Planar Object))

Next, an operation for displaying a planar object (map) carrying text,diagrams or the like, in three-dimensional spatial coordinates, isdescribed with reference to FIG. 3-FIG. 5.

FIG. 3 is a flowchart describing this operation. FIG. 4 and FIG. 5 areillustrative diagrams of the same operation.

In the game device according to this mode for implementation, there is ascene where the hero characters move by riding on a truck. FIG. 4 andFIG. 5 are illustrative diagrams using this scene as an example.

In FIG. 4, a truck 20 travels along a track 21 in the direction of thebackground 21. This state may be treated as though the truck 20 is in astationary state and the background 23 and the like is coming towards itas indicated by the arrow in the drawing. Characters 24 (25) are ridingin the truck 20. The characters 24 (25) opens up a map 26. The curvedline circling around the characters 24 (25) in FIG. 4 is the pathtravelled by the coordinates of the camera viewpoint, which is describedbelow. There are six points on this curve, which are respectivelylabelled “1”, “2”, “3”, “4”, “5” and “6”. The camera viewpoint moves inthe order of these numbers. Specifically, centerd about the characters24 (25), it moves upwards from below, and it turns to face downwards. InFIG. 4, the camera viewpoint moves in an anti-clockwise direction.

FIG. 5 shows six screens in FIGS. 5(a), (b), (c), (d), (e) and (f),respectively, and the screens change in this order. Furthermore, FIGS. 5(a)-(f) correspond respectively to images taken at camera viewpoints 1-6in FIG. 4.

FIG. 5(a) depicts the edge of the truck 20, where the camera is atviewpoint 1, and it shows the track 21, land surface 22, and mountainsand the like in the background 23 in the direction in which the truck 20is travelling. At this camera viewpoint 1, the characters 24 (25) arenot shown.

FIG. 5(b) depicts a rear view of the characters 24 (25), where thecamera is at viewpoint 2, and it shows the characters 24 (25), as wellas the track 21 and the like.

FIG. 5(c) depicts an upper rear view of the characters 24 (25), wherethe camera is at viewpoint 3, and it portrays a full image of the truck20 running along the track 21.

FIG. 5(d) depicts a view based on viewpoint 4, which is shifted slightlyforward of viewpoint 3, and here it can be seen that the characters 24(25) have opened up the map 26.

FIG. 5(e) depicts a view based on viewpoint 5, which is shifted slightlyforwards and downwards from viewpoint 4, and here a more enlarged imageof the map 26 is shown.

FIG. 5(f) depicts a view based on viewpoint -6, which is even closer tothe map 26, and the map 26 is displayed across the whole screen.

Next, the operation based on the flowchart in FIG. 3 is described.

Firstly, the CPU 101 conducts game development processing in accordancewith the programs stored in the ROM 102 (step 301, step 302; NO).

Thereupon, when the CPU 101 determines that game processing is finishedand one stage has been completed (step 302; YES), it moves to theviewpoint movement control steps. If the viewpoint coordinates arewithin prescribed values, this indicates, for example, a case where thecharacters proceed to a defined position in the game as a result ofclearing a certain stage. To give a narrative example, this may be acase where the characters, having overcome various dangers to escapefrom a difficult situation, then climb into the truck once more in orderto travel. In other words, it relates to scene changes.

Firstly, the CPU 101 extracts the initial camera viewpoint coordinatesfrom the ROM 102 and stores them in a prescribed area of the RAM 103(step 303).

Thereupon, the CPU 101 conducts image processing of display data for thecharacters, background and the like, on the basis of the initialviewpoint coordinates recorded in the RAM 103 (step 304).

Next, if the viewpoint coordinates recorded in the ROM 102 are withinprescribed values (step 305; YES), the CPU 101 conducts image processingfor displaying the map in a folded state (step 306). As shown in FIG. 4,as a result of the processing in step 306, the camera viewpointcoordinates assume viewpoint “1” located in front of the characters 24(25). Furthermore, as shown in FIG. 5(a), the display screen viewed fromthis viewpoint “1” comprises an edge portion of the truck 20, the track.21, the land surface 22, and the background 23. These are displayed onthe display 1 a.

Thereupon, the CPU 101 determines whether or not the final coordinateposition of the camera has been reached (step 307). In the present case,it has clearly not been reached (step 307; NO), and therefore the cameraviewpoint coordinates stored in the prescribed area of the RAM 103 areupdated (step 308), and the CPU 101 transfers once more to theprocessing in step 304.

If this processing (steps 304-308) is repeated, as shown in FIG. 4, thecamera viewpoint coordinates will assume viewpoint “2” located behindthe characters 24 (25). As shown in FIG. 5(b), the display screen viewedfrom this viewpoint (“2”) comprises the truck 20, the characters 24 (25)riding therein, the track 21, the land surface 22, and the background23. These are displayed on the display 1 a.

If this processing (steps 304-308) is further repeated, as shown in FIG.4, the camera viewpoint coordinates will assume viewpoint “3” locatedbehind and well above the characters 24 (25). As shown in FIG. 5(c), thedisplay screen viewed from this viewpoint (“3”) comprises the truck 20,the characters 24 (25) riding therein, the track 21, and the landsurface 22. These are displayed on the display 1 a in a similar state toa view from the sky.

As this processing is repeated (steps 304-308), before the cameraviewpoint coordinates reach “4” in FIG. 4, it is judged by the CPU 101that the viewpoint coordinates stored in the prescribed area of the RAM103 have exceeded the prescribed values (step 305; NO). Thereupon, theCPU 101 executes image processing whereby the map 26 is displayed suchthat it gradually opens out from a folded state (step 309). In thisprocessing, for example, the image is processed such that two points ofthe coordinates of the polygon forming the map are held as commonpoints, and the other two points are updated every time this step ispassed. Thereby, a map in the form of a book is displayed as graduallyopening out from a closed state. Accordingly, each time this step ispassed, the map in the form of a book opens further, and when it reachesa fully opened state, updating of the polygon coordinates isdiscontinued.

Similarly, if this processing (steps 304-305, 309, 307, 308) isrepeated, as shown in FIG. 4, the camera viewpoint coordinates willarrive at viewpoint “4” located diagonally behind the characters 24(25). As shown in FIG. 5(d), the display screen viewed from thisviewpoint (“4”) comprises an enlarged truck 20, the upper bodies of thecharacters 24 (25) riding therein, the opened map 26 visible betweenthese upper bodies, the track 21, the land surface 22 and the background23. These are displayed on the display 1 a.

Again, if the CPU 101 repeats the processing in steps 304-305, 309, 307,308, as shown in FIG. 4, the camera viewpoint coordinates will arrive atviewpoint “5” located directly above the characters 24 (25). As shown inFIG. 5(e), the display screen viewed from this viewpoint (“5”) comprisesa portion of the truck 20, the enlarged upper bodies of the characters24 (25) riding therein, and an enlarged map 26 visible between theenlarged upper bodies. These are displayed on the display 1 a.

If the CPU 101 further repeats the processing in steps 304-305, 309,307, 308, as shown in FIG. 4, the camera viewpoint coordinates willarrive at viewpoint “6” located in front of the characters 24 (25). Asshown in FIG. 5(f), the display screen viewed from this viewpoint (“6”)comprises the map 26 in an enlarged state which fills the entire screenof the display 1 a. This is displayed on the display 1 a. In this case,the CPU 101 judges that the viewpoint coordinates have reached theirfinal values, (step 307; YES), and whilst the map 26 is being viewed, itexecutes pre-processing for the next stage (step 310), and shifts oncemore to game processing (step 301).

Incidentally, information such as diagrams, text, figures and the likerequired by the player are written onto the map 26 which is formed by apolygon. Therefore, the player does not need to call up a special map inorder to obtain the required information. This information can beobtained by making the characters on the game screen open out the map.Conventionally, necessary maps have been displayed, by a command orautomatically, on a separate screen display in place of the game screen.

As described above, according to this mode for implementing theinvention, since an operation is conducted whereby the map 26 is openedout by the characters on the game screen, and this map 26 is displayedon the display 1 a such that the player looks down onto it by means ofcamera work (movement of the viewpoint), it is possible to avoid adisplay which switches screens, and therefore interruptions to the flowof the game can be prevented. In other words, information required bythe player, such as the player's status and position in the game as awhole, or the like, is written onto an object in the game space, andusing camera work, this information is displayed in relation to thecharacters 24 (25) in the game, thereby making it possible to supply therequired information and continue the game screen, simultaneously.Consequently, the player becomes fully involved with the characters ashe or she experiences the adventure, without being made aware that he orshe is playing a game, and thus his or her sense of immersion in thegame increases.

Incidentally, it is not necessary for the camera viewpoint position tocircle completely around the characters, but, for example, the displayof the map 26 may halt in the area of viewpoint “5”. Furthermore, thecamera viewpoint position may follow points 1-6 in FIG. 4 in order, orit may follow them in reverse order, or alternatively, it may followthem in a non-consecutive order. The camera viewpoint position may movecontinuously between these points, or it may move onto points 1-6 only.The camera viewpoint position may move within a vertical plane as shownin FIG. 4, or it may move within a horizontal plane. Moreover, thecamera may pan by moving slowly left and right or up and down, or zoom,as in cinematic filming. In short, the screen display should be changedgradually to show information sources, such as maps, explanations, anddiagrams, which are continuously required, without interrupting the gamescreen. In doing this, the surrounding scenery and the characters shouldbe included in the display.

The foregoing described a truck ride scene as an example, but naturallyit is not limited to moving scenes of this kind. Besides this, it may beapplied to cases where a stage has been cleared, or where the charactersare taking a rest, or where they are selecting equipment, for instance.In short, it may be applied to any scene where a screen change ortemporary interruption is required.

(Operation for Determining Viewpoint)

Next, an operation for determining the line of sight in this game deviceis described with reference to FIG. 6-FIG. 10.

Here, FIG. 6 is a flowchart of this operation.

FIG. 7-FIG. 9 are illustrative diagrams of this operation.

FIG. 10 is a diagram for describing a method of determining the line ofsight in accordance with the curvature of a curve.

As in the foregoing, the description below takes as an example a casewhere the characters travel by riding on a truck 20. During processingof the game program, the CPU 101 initiates the flowchart shown in FIG.6, when the truck 20 in which the hero characters are riding enters acurve.

Upon initiating this flowchart, the CPU 101 reads the current point q20coordinates of the truck 20 (step 401). In other words, as shown in FIG.7(a), the current point q20 coordinates (X, Y, Z) of the truck 20 areinput to the CPU 101.

Next, in accordance with a predetermined distance setting a, the CPU 101inputs the coordinates of a point q21 on the track to the front of thetruck 20 and separated from the current coordinates of the truck 20 bythe distance setting a (step 402). Here, the symbol a is a distancesetting used to obtain point coordinates located at a prescribeddistance in front of and behind the current point of the truck 20, andit is stored in a prescribed area of the RAM 103, for example. The CPU101 inputs coordinates in front of and behind the truck 20 on the basisof this distance setting a.

Next, the CPU 101 inputs the coordinates of a point q22 separated fromthe current coordinates of the truck 20 by the distance setting a to therear of the truck 20 (step 403). Thereby, the coordinates of points(positions) q21 and q22 located equidistantly in front of and behind thecurrent coordinates of the truck 20 are input to the CPU 101.

Next, the CPU 101 conducts calculational processing to link thecoordinates obtained in steps 402 and 403 by a straight line (step 404).As shown in FIG. 7(b), this corresponds to a process linking point q21and point q22 by means of the straight line N.

Since the coordinates of points q21 and q22 are already known, the CPU101 can find the length of the straight line N in the calculation instep 404. The angle of the curve can be determined from the length ofthis straight line N. For example, as shown in FIG. 8(a), the straightline Na between points q21 and q22 is long when the curve has an obtuseangle. When the points q20, q21 and q22 lie in a straight line, thelength of straight line Na takes its maximum value of 2 a. On the otherhand, as shown in FIG. 8(b), as the angle of the curve approaches anacute angle, the straight line Nb linking points q21 and q22 becomesshorter. In other words, when q a>q b, Na>Nb. The length of the straightline N(90°) when q=90° can be calculated in advance (N²=2 a²), so thisN(90°) value can serve as a reference for judging whether a curve isobtuse or acute.

Thus, the CPU 101 determines the value for the distance N of thestraight line obtained in step 404 (step 405). Here, if the straightline Na is long, as shown in FIG. 8(a), the CPU 101 judges,that thecurve has an obtuse angle and it sets the distance setting a to astandard value and stores it in the RAM 103 (step 407). On the otherhand, if the straight line Na is short, as shown in FIG. 8(b), the CPU101 judges that the curve has an acute angle and it sets the distancesetting a to a small value and stores it in the RAM 103 (step 406). Thedistance setting a is switched in this way, according to whether theangle of the curve is obtuse or acute, in order that the cameraorientation changes naturally through curves, even in places where thetrack 21 of the truck 20 curves sharply.

The CPU 101 then adapts the straight line found in step 404 to thecurrent point q20 by moving it to a parallel position, as shown in FIG.7(b), and this is stored in a prescribed area of the RAM 103, forexample, as a camera orientation F (step 408).

By repeating these processing steps 401-408, it is possible to changethe camera line of sight smoothly through a curve. For example, as shownin FIG. 9, at camera orientation F10 at point q10, the field of view isG10. At point q20, the camera orientation will be F20 derived frompoints q21 and q22, and the field of view will be G20. Furthermore, atpoint q30, the camera orientation will be F30 derived from points q31and q32, and the field of view will be G30. As FIG. 9 illustrates, thefields of view overlap partially with each other as the line of sightchanges. In the prior art example in FIG. 24, there are virtually nooverlapping portions in the fields of view, so there is a large swingbetween the screens displayed each time the viewpoint changes. It can beseen that, according to the processing in this mode for implementation,the field of view G moves smoothly, as shown in FIG. 9.

Since the distance setting a can be varied in response to the angle, theinterval according to distance setting a can be made large when thecurve is gentle, as shown in FIG. 10(a), for example, and it can be madesmall when the curve is sharp, as shown in FIG. 10(b). With regard tothe number of times the calculation of straight line N is repeated, inFIG. 10(a), this number is relatively small, and in FIG. 10(b), it isrelatively large. Therefore, by varying the distance setting a accordingto the angle, optimal processing can be conducted whilst reducing theload on the CPU 101.

The camera line of sight can be made to follow the curve more closely,the smaller the value given to distance setting a, but this increasesthe load on the CPU 101. On the other hand, as the value of a is raised,the movement of the camera line of sight becomes less and less smooth,but the load on the CPU 101 is reduced. Therefore, these two conditionsare taken into consideration when actually determining the value of a.If the tightest curve is known in advance, then a minimum value for athat is not unfeasibly small is determined using this curve as areference, and as the curves become more gentle, a is graduallyincreased. For example, a fixed increment D a should be set and this ismultiplied as n_(x) D a (where n is an integer), as the radius of thecurve increases. If a is set to an extremely small value, then this willyield the direction of the tangent to the curve at a certain point (forexample, point q 20). However, in digital processing, curves aredisplayed in a discontinuous rather than a continuous form, so there isno need to reduce the spacing beyond this.

According to this mode for implementation, since two points on the trackin front of and behind the truck are selected and the camera line ofsight is determined on the basis of these two points, it is possible tocreate natural movement, without the viewpoint (camera orientation F)moving by a large amount when passing through curves. Furthermore, theweight of objects that is felt when passing through curves can also berepresented. Moreover, since the direction of the viewpoint isdetermined by means of points in front of and behind the currentcoordinate point, it is possible to respond even when the travel of theviewpoint is reversed. In addition, since the spacing between the twopoints can be adjusted, the range of oscillation in the viewpoint canalso be adjusted. Furthermore, since the angle of the curve can bedetermined from the straight line N linking the two points, it ispossible to respond directly to the motion data.

The processing described above is not applicable solely to the case of atruck running along a track. It can also be applied, for example, to thecase of a car going around a curve, or an aeroplane climbing ordescending. Furthermore, it can also be applied when the curve is notnecessarily required to be smooth, for instance, on a course formed by aplurality of connected straight lines. In short, the processingdescribed above is applicable in cases where the reference direction forthe screen display is determined according to fixed rules.

Furthermore, in determining the reference direction for the screendisplay, a different method may be used, for instance, determining thecamera orientation on the basis of the straight line angle information,without moving the straight line to a parallel position. Alternatively,the processing may be conducted on the basis of direction information(angle information) previously established in relation to the curve,without needing to derive straight lines.

Furthermore, the points from which straight line N is derived need notnecessarily be points on either side of a moving object on a track, andthey may be based on current positional information for the movingobject and positional information for points through which the movingobject will subsequently pass (for example, a point slightly ahead and apoint a long way ahead).

(Operation for Coordinate Processing to Represent a River Flow)

FIG. 11 is a flowchart for describing the flow of a river according tothis mode for implementation. FIG. 12 is an illustrative diagram fordescribing the relationship between a polygon and various coordinates.FIG. 13 is an illustrative diagram of a texture coordinates system: thehorizontal axis is taken as u, and the vertical axis, as v. An imagerepresenting a river is displayed by means of pluralities of polygonslinked in both directions u and v. FIG. 14 is an illustrative diagramshowing a river flow represented by means of this process.

The river flow is represented by the following method. As shown in FIG.12, a section corresponding to a river is constituted by a polygon PGMwherein a plurality of polygons PG1, PG2, . . . are linked successively.Thereupon, texture with the appearance of a water flow is appliedrespectively to each polygon PG1, PG2, . . . . These texture coordinatesare caused to change in the direction of the river flow as time passes.By this means, a river flow can be represented.

In this mode for implementation, as shown in FIG. 12, curves K1, K2, . .. (same number as polygons in direction of chain) which act asreferences for the texture coordinates are prepared for each polygonPG1, PG2, . . . . The polygons PG1, PG2, . . . in this diagram show oneportion of a plurality of polygons linked longitudinally and laterally.Consequently, polygons not shown in the drawings are linked in thelateral direction of polygons PG1 and PG2, also.

Here, it is assumed that the CPU 101 has transferred to processing forrepresenting a river flow. Thereupon, the CPU 101 processes theflowchart in FIG. 11. Firstly, the CPU 101 inputs the reference vectorK1 acting as a texture coordinate reference prepared for each polygonPG1 (step 501). A reference vector is determined for each polygon chainin the lateral direction (direction perpendicular to that in which theriver is flowing) on the basis of a predetermined river course (curve).For example, reference vector K1 is set for the polygon chain includingpolygon PG1, and reference vector K2 is set for the polygon chainincluding polygon PG2, respectively. The reference vectors represent theflow of the river.

Next, the CPU 101 calculates texture coordinates using this referencevector K1 (step 502). This calculation is made as follows, for example.In polygon PG1 in FIG. 12, L1, L3 and L4 are taken as parallel segmentsto reference vector K1, and L2, L5 and L6 are taken as perpendicularsegments to reference vector K1. Thereupon, the texture coordinates forvertices p1, p2, p3, p4 of polygon PG1 are found from:p1=(u, v)p2=(p1.u+L2, p1.v+L3)p3=(p2.u+L4, p2.v+L5)p4=(p1.u+L6, p1.v+L1)Here, p1.u indicates the u component of p1, and p1.v indicates the vcomponent of p1. By means of this conversion, the texture coordinatesand the polygon PG1, PG2, . . . coordinates can be matched to eachother.

After conducting this calculation, the CPU 101 determines whether or notall the polygons have been completed (step 503).

Here, since they are not yet completed (step 503; NO), the polygon PGsubscript number is updated (step 504) so that calculation can be madefor the next polygon PG, and the CPU 101 returns again to the processingin step 501.

By causing each texture to move according to predetermined referencevectors by means of the processing in steps 501-504, an imagerepresenting a river flow can be obtained.

In this mode for implementation, when a representation of flowing wateris conducted by means of texture-mapped polygons, as shown in FIG. 14,the water is represented as flowing along the course of a river withoutany changes in the density of the textures 61, 62, . . . on the polygons51, 52, . . . , and therefore a natural water flow can be reproduced.

In other words, by projecting mapping data expressed as texturecoordinates onto polygons showing a river flow on the basis of referencevectors following the river flow, the textures for representing theriver flow can be changed in shape as appropriate to match the shape ofthe river flow. Therefore, a natural representation of a river flow ispossible.

The reference vectors K1, K2, . . . correspond individually to thepolygons PG1, PG2, . . . . A reference vector acts as the reference forthe river flow in the corresponding polygon. In some cases, thereference vector ma be defined by the shape of the polygon, for example,as a line perpendicular to the sides, or as a line linking the midpointsof the sides. Furthermore, if the river is flowing in a predetermineddirection, the reference vector may be defined for each polygon on thebasis of the curve representing this flow.

The conversion formulae between the texture coordinates and the polygonsare not limited to the example given above, and other conversionformulae may be used. For example, the conversion may be based on theangle formed by a side of the polygon and the reference vector.

The example described above concerned a case where a river flow isrepresented. This mode for implementation can be applied to therepresentation of other flowing images.

(Operation for Screen Movement Processing)

FIG. 15 is a flowchart for describing screen movement processing in thismode for implementation. FIG. 16 is an illustrative diagram of thisscreen movement processing. FIG. 17 is also an illustrative diagram ofthis screen movement processing.

In this mode for implementation, a display is created using interactivecomputer graphics. When Z-buffering is used in this display to erasehidden surfaces, an object which is of the maximum size within theZ-direction display range is prepared. Furthermore, when Z-sorting isused in this display, an object which is sufficiently large compared tothe other objects is prepared.

For example, when using Z-buffering, as shown in FIG. 17(a), since thelargest object within the display range G from viewpoint 69 is theobject 71, then this is set as a movable object. The object 71 is, forexample, a background object such as a mountain peak, a celestial body,the sky, or the like. The numerals 72, 73, 74, . . . represent variousobjects in front of the background.

Firstly, the CPU 101 executes game development processing (step 601),and if there is no movement in the viewpoint (step 602; NO), it returnsagain to the processing in step 601. At this point, it is in a state asshown in FIG. 17(a), for example.

Thereupon, if the viewpoint 69 moves as shown in FIG. 17(b), forexample, (step 602; YES), the CPU 101 inputs the current viewpointcoordinates after the movement (step 603).

The CPU 101 then extracts the preceding viewpoint coordinates input onthe previous occasion, from a prescribed area of the RAM 103, inaddition to which it writes the new coordinates into a prescribed areaof the RAM 103 and conducts a subtraction calculation with the newlyinput coordinates (step 604).

If the CPU 101 judges that the calculation result is not above aprescribed value (step 605: NO), then it returns to the processing instep 601. This is because, when the distance moved is not very large,there is no considerable change in the appearance of the object 71 inthe distance. The threshold value in this step 601 is set on the basisof the distance to the object 71, within a range such that the playerdoes not receive an unnatural impression.

Furthermore, when the CPU 101 judges that this calculation result isabove the prescribed value (step 605; YES), it reads the coordinates ofthe prescribed object 71 (step 606).

Thereupon, the CPU 101 changes the coordinates of the object 71 on thebasis of the aforementioned calculation result (step 607). For example,it moves the object 71 away through a distance equal to that by whichthe viewpoint 69 has approached the object 71. In this case, object 71and object 72 move apart and there may be a discontinuity between thesetwo objects, but since object 71 is in the extreme distance, noparticular unnatural impression is created thereby.

The CPU 101 then stores these coordinates in a prescribed area of theRAM 103 (step 608), whereupon it transfers again to the processing instep 601.

Thus, in this mode for implementation, as shown in FIG. 17(b), if theviewpoint 69 moves, the background 70 of course moves correspondingly,and the object 71 also moves. Therefore, it is possible to preventchanges in appearance as the viewpoint moves.

In other words, no unnatural impression is created, even whenrepresenting an object at an infinite distance, such as a celestial bodyor the sky, or a very large object, or an image that has no distancevalue, such as an optical phenomenon. This method is particularlybeneficial in cases where the Z-buffer for representing the depth ofobjects is expressed in integers in order to increase the processingspeed. Conventionally, in cases of this kind, special processing forrepresenting the depth of objects at infinite distances has beenrequired, but according to this mode for implementation, such processingbecomes unnecessary. This eases restrictions on hardware.

As shown in FIG. 16, a sphere 76 of the maximum size within the displayrange, bearing a representation of a starry sky, or the like, may becreated, the viewpoint 69 being positioned at the center point of thissphere 76, and said center point being moved in accordance with movementin the viewpoint. Thus, the position of this sphere 76 changes withmovement in the viewpoint 69. When Z-buffering is used, the radius ofthis sphere 76 is the maximum size in the Z-direction display range.When Z-sorting is used, a celestial sphere or the like at an infinitedistance is represented by preparing an object of sufficiently largesize compared to the other objects, and moving the position of thisobject through the same distance as the movement in the viewpoint. Ainfinitely distant background image of cylindrical shape may also beused in place of the sphere 76.

By this means, even if, for example, the position of viewpoint 69 doesnot change, but the character looks up, or turns around, an appropriatebackground, such as a starry sky, or the like, corresponding to thisorientation, can always be obtained.

Conventionally, backgrounds of this type have been created by preparingbackground screens which are pasted onto the display screen, but thisappears unnatural because the display does not change, whatever thedirection of view.

(Description of Polygon Number Restriction)

FIG. 18 is a flowchart of an operation for polygon number restrictionaccording to this mode for implementation. FIG. 19 is an illustrativediagram of this mode for implementation. FIG. 20 is also an illustrativediagram of this mode for implementation.

In this mode for implementation, firstly, limit values are appliedrespectively to the polygons forming the characters 24, 25, the polygonsforming the enemies and the like, and the polygons forming thebackground and the like. As shown in FIG. 19, in this mode forimplementation, there are provided a buffer 81 wherein the limit numberR1 for the polygons forming the characters 24, 25 is set, a buffer 82wherein the limit number R2 for the polygons forming the enemies and thelike is set, and a buffer 83 wherein the limit number R3 for thepolygons forming the background and the like is set. These buffers 81-83may be provided in the RAM 103, for example. The limit numbers R1-R3 arestored in the ROM 102, and are read to the buffers 81-83 when theoperation is initiated.

Next, the operation is described on the basis of the flowchart in FIG.18.

The CPU 101 executes game development processing (step 701), whereuponit reads the polygon limit number R1 from buffer 81 (step 702). Next,the CPU 101 allocates this to the necessary characters (step 703) andthen generates characters such that this allocated polygon number is notexceeded (step 704).

Thereupon, the CPU 101 reads the polygon limit number R3 from buffer 83(step 705), and then allocates this to the necessary background (step706). The CPU 101 generates a background such that this allocatedpolygon number is not exceeded (step 707).

The CPU 101 then determines whether or not any enemies appear (step708). If no enemies appear (step 708; NO), it transfers back to theprocessing in step 701. By executing the processing in steps 701-708 inthis way, a display screen such as that in FIG. 20(a), for example, iscreated. In FIG. 20(a), a truck 20, characters 24, 25 riding therein, atrack 21, a land surface 22, and a background 23, are represented.

Furthermore, if enemies do appear (step 708; YES), the CPU 101 movesagain to the processing in step 709. At this step, the CPU 101 reads thepolygon limit number R2 from buffer 82 (step 709), whereupon itallocates this to the necessary enemies (step 710). The CPU 101 thengenerates enemies such that this allocated polygon number is notexceeded (step 711). When these steps 708-711 are executed, a displayscreen such as that in FIG. 20(b), for example, is created. In FIG.20(b), a truck 20, characters 24, 25 riding therein, a track 21, a landsurface 22, a background 23 and the like, and an enemy 27 aiming apistol from the side, are represented.

Conventionally, since the overall number of polygons in the background23 and the like is controlled, there has been a problem in that polygonsin the background 23 are lost when a large number of enemies 27 appear.However, according to the present mode for implementation, since therespective upper limits for the enemy 27 and the background 23 arecontrolled individually, there is no loss of background 23 polygons,even if the enemy 27 appears in large numbers.

(Description of Field of View Angle)

FIG. 21 is a flowchart for describing the operation of altering thefield of view angle.

In FIG. 21, the CPU 101 executes a game development operation on thebasis of a program from the ROM 102 (step 801). The field of view anglechanges with the game development, in a predetermined manner. The CPU101 assesses the field of view angle from the game development (step802). If the truck 20 is travelling across a plain, for example, duringthe game processing, and the field of view angle is large. (step 802;large), then the CPU 101 sets the field of view angle to large (step803). If it is travelling between hills or buildings, or the like, forexample, during the game processing, and the field of view angle ismedium (step 802; medium), then the CPU 101 sets the field of view angleto medium (step 804). Furthermore, if it is travelling through a tunnel,for example, during the game processing, and the field of view angle issmall (step 802; small), then the CPU 101 sets the field of view angleto small (step 805).

Consequently, at the next step 806, the CPU 101 reads the set field ofview angle and executes field of view angle processing (step 806).

Thereby, for example, when the truck 20 is travelling through a tunnel,the field of view angle is set extremely small and the far distance isdisplayed. When it is travelling through hills or the like, the field ofview is set to a medium angle. And when it is travelling across a plainor the like, the field of view is set to a large angle. Changes in thefield of view angle of this kind correspond to sight characteristics inhumans, and therefore it is possible to provide an extremely realisticgame screen.

1. In an image processing device which causes a moving object composedin three-dimensional spatial coordinates to move, and generatesviewpoint images whereby said moving object is viewed from prescribedviewpoints, the image processing device comprising: informationrepresenting object generating means for composing an informationrepresenting object whereby information relating to said moving objectis represented in three-dimensional spatial coordinates. 2.-42.(canceled)